Benjamin Otte [Tue, 13 Jan 2015 12:45:42 +0000 (13:45 +0100)]
stylecontext: Do not transition from the default style
This gets rid of a bunch of awkward transitions. It's not a perfect
solution to the problem of "should we transition from this state" but it
gets rid of the ugliest offenders.
Lapo Calamandrei [Fri, 16 Jan 2015 17:32:16 +0000 (18:32 +0100)]
Adwaita: scrollbar style refactoring...
...making overlay indicator slider visible on any backgroung
in the process.
Marek Černocký [Wed, 14 Jan 2015 21:50:26 +0000 (22:50 +0100)]
Updated Czech translation
Carlos Garnacho [Wed, 14 Jan 2015 15:59:36 +0000 (16:59 +0100)]
widget: Free the controller list on finalize()
If this is done on dispose(), the widget may be destroyed (and its
controllers list NULLified) within _gtk_widget_run_controllers(),
causing warnings/crashes when it just tried to hop on the next
controllers.
Freeing the controllers here should be a safety net for implementations,
so it also makes sense to do this late. The widgets that choose to
free their controllers on dispose can still do so, and get
_gtk_widget_remove_controller() called for these as an indirect result.
Carlos Garnacho [Wed, 14 Jan 2015 15:41:54 +0000 (16:41 +0100)]
listbox: Free the multipress gesture on finalize
Sveinn í Felli [Tue, 13 Jan 2015 13:44:08 +0000 (13:44 +0000)]
Updated Icelandic translation
Carlos Garnacho [Wed, 14 Jan 2015 15:03:10 +0000 (16:03 +0100)]
event-controller: Chain up on dispose
Stas Solovey [Wed, 14 Jan 2015 12:05:57 +0000 (12:05 +0000)]
Updated Russian translation
Nelson Benítez León [Sat, 10 Jan 2015 20:11:14 +0000 (01:11 +0500)]
gtkplacessidebar: insert bookmark by dnd in correct position
Add needed COLUMN INDEX to "new bookmark" row based on previous
bookmark index plus one.
Fixes bug 742727
Maks Naumov [Sun, 11 Jan 2015 21:34:38 +0000 (13:34 -0800)]
Fix accessible_class->widget_set initialization
Signed-off-by: Maks Naumov <maksqwe1@ukr.net>
https://bugzilla.gnome.org/show_bug.cgi?id=742778
Fran Dieguez [Mon, 12 Jan 2015 21:53:18 +0000 (22:53 +0100)]
Updated Galician translations
Daniel Mustieles [Mon, 12 Jan 2015 11:20:26 +0000 (12:20 +0100)]
Updated Spanish translation
Maks Naumov [Sun, 11 Jan 2015 19:27:37 +0000 (11:27 -0800)]
Properly check result of g_utf8_get_char_validated()
g_utf8_get_char_validated() may return -1 or -2
return type is gunichar(guint32)
Therefore such checks like 'gunichar < 0' or 'gunichar > 0'
are always 'false' or 'true'(except when gunichar == 0).
Signed-off-by: Maks Naumov <maksqwe1@ukr.net>
https://bugzilla.gnome.org/show_bug.cgi?id=742774
Maks Naumov [Sun, 11 Jan 2015 15:01:40 +0000 (07:01 -0800)]
Fix check for 'y' padding in gtk_cell_renderer_set_padding()
Signed-off-by: Maks Naumov <maksqwe1@ukr.net>
https://bugzilla.gnome.org/show_bug.cgi?id=742764
Matthias Clasen [Sun, 11 Jan 2015 20:14:55 +0000 (15:14 -0500)]
Remove an unused define
Maks Naumov [Sun, 11 Jan 2015 18:34:56 +0000 (10:34 -0800)]
Properly ignore BadWindow and BadDrawable in get_child_info_handler()
Signed-off-by: Maks Naumov <maksqwe1@ukr.net>
https://bugzilla.gnome.org/show_bug.cgi?id=742771
Matthias Clasen [Sun, 11 Jan 2015 02:16:21 +0000 (21:16 -0500)]
Forgotten file
Matthias Clasen [Sun, 11 Jan 2015 02:14:56 +0000 (21:14 -0500)]
HighContrast: Don't set nonexisting style properties
These don't exist, so setting them can't do any good.
Matthias Clasen [Sun, 11 Jan 2015 02:14:02 +0000 (21:14 -0500)]
Adwaita: Don't set nonexisting style properties
These don't exist, so setting them can't do any good.
Matthias Clasen [Sun, 11 Jan 2015 02:12:08 +0000 (21:12 -0500)]
HighContrast: Also fix separators in file chooser buttons
Same fix as for combo box separators.
Matthias Clasen [Sun, 11 Jan 2015 02:09:30 +0000 (21:09 -0500)]
Adwaita: Also fix separators in file chooser buttons
Same fix as for combo box separators.
Iain Lane [Fri, 9 Jan 2015 15:31:08 +0000 (15:31 +0000)]
gtkfilechooserwidget: When using an extra widget, show or hide the filter combo as appropriate
https://bugzilla.gnome.org/show_bug.cgi?id=742653
Matthias Clasen [Sun, 11 Jan 2015 01:28:45 +0000 (20:28 -0500)]
HighContrast: draw combo box separators
Same fix as the previous commit.
Matthias Clasen [Sun, 11 Jan 2015 01:25:56 +0000 (20:25 -0500)]
Adwaita: draw combo box separators
Killing the separator in the button had the unintended side effect
of also killing separators in the popup.
https://bugzilla.gnome.org/show_bug.cgi?id=742704
Matthias Clasen [Sun, 11 Jan 2015 01:14:24 +0000 (20:14 -0500)]
widget-factory: Add a combo box separator example
This shows that combo box separators are currently broken
in Adwaita.
Nelson Benitez Leon [Tue, 22 Oct 2013 10:24:55 +0000 (12:24 +0200)]
GtkTextView: allow to extend text selection with mouse scrollwheel
Fixes bug 710612
Matthias Clasen [Sat, 10 Jan 2015 19:27:52 +0000 (14:27 -0500)]
file chooser: Add some padidng
https://bugzilla.gnome.org/show_bug.cgi?id=742631
Matthias Clasen [Sat, 10 Jan 2015 19:35:45 +0000 (14:35 -0500)]
Forgotten files
Matthias Clasen [Sat, 10 Jan 2015 18:04:10 +0000 (13:04 -0500)]
Adwaita: Fix treeview separators in backdrop
https://bugzilla.gnome.org/show_bug.cgi?id=742702
Benjamin Otte [Sat, 10 Jan 2015 12:58:39 +0000 (13:58 +0100)]
stylecontext: Stop animations on manual invalidation
If a gtk_style_context_invalidate() is called on a widget's style
context (which nobody should ever do, sheesh!) and we're animating, stop
the animations.
Fixes crashers in Nautilus.
Matthias Clasen [Sat, 10 Jan 2015 02:13:10 +0000 (21:13 -0500)]
GtkScrolledWindow: Don't start fading right away
When we get a leave event, we need to remove the over bit,
since we may not get motion events that tell us when we lose
proximity, but we don't have to fade out right away - that
will happen on its on due to inactivity a bit later. Having
the indicator stay visible for a bit feels more relaxed.
Matthias Clasen [Sat, 10 Jan 2015 02:12:00 +0000 (21:12 -0500)]
GtkScrolledWindow: Factor out a constant
Define INDICATOR_CLOSE_DISTANCE instead of hardcoding the same
number of pixels in 4 different places.
Matthias Clasen [Sat, 10 Jan 2015 02:09:22 +0000 (21:09 -0500)]
GtkScrolledWindow: Don't require proximity for track points
These are hard to navigate precisely, so show wide scrollbars
right away.
Matthias Clasen [Sat, 10 Jan 2015 01:52:03 +0000 (20:52 -0500)]
GtkScrolledWindow: Drop device manager complications
We no longer use the presence or absence of particular device
types to determine which scrolling to use.
Matthias Clasen [Sat, 10 Jan 2015 01:33:39 +0000 (20:33 -0500)]
GtkScrolledWindow: Drop a redundant field
The Indicator.enabled field was not carrying any extra information,
so just use priv->use_indicators instead.
Matthias Clasen [Sat, 10 Jan 2015 01:26:07 +0000 (20:26 -0500)]
GtkScrolledWindow: Rename a private field
touch_mode -> use_indicators, more to the point.
Emmanuele Bassi [Sat, 10 Jan 2015 00:07:51 +0000 (00:07 +0000)]
x11/gl: Do not specify the GLX context version
If we use GDK_GL_PROFILE_3_2_CORE we are asking for a core profile
according to the GLX_ARB_create_context_profile extension. For that,
we pass the GLX_CONTEXT_CORE_PROFILE_BIT_ARB value for the
GLX_CONTEXT_PROFILE_MASK_ARB attribute.
The specification for the extension says that:
If the requested OpenGL version is less than 3.2,
GLX_CONTEXT_PROFILE_MASK_ARB is ignored and the functionality
of the context is determined solely by the requested version.
Since we're asking for a core profile, we assume a GL version greater
than or equal to 3.2; thus, we don't need to specify the
GLX_CONTEXT_MAJOR_VERSION_ARB or the GLX_CONTEXT_MINOR_VERSION_ARB
attributes, and instead just rely on whatever version GLX gives us.
This seems to work around a strange issue in Mesa; if we ask for a core
profile and any version > 3.0, we get broken rendering on any shared
context we create.
Matthias Clasen [Fri, 9 Jan 2015 20:28:53 +0000 (15:28 -0500)]
inspector: Don't use GSettings directly
It is not necessary here, and using GtkSettings gives us
a greater chance to not fail e.g. on Windows.
https://bugzilla.gnome.org/show_bug.cgi?id=742664
Matthias Clasen [Fri, 9 Jan 2015 19:44:26 +0000 (14:44 -0500)]
inspector: be careful about gsize vs guint64
Since gsize doesn't work as a typename in a ui file,
we have to be careful not to pass pointers to wrongly
sized variables when getting the guint64 values out
of the model.
https://bugzilla.gnome.org/show_bug.cgi?id=742664
Emmanuele Bassi [Fri, 9 Jan 2015 16:42:55 +0000 (16:42 +0000)]
docs: Add missing quote
The missing " breaks the syntax highlighting of the GtkImageMenuItem
example.
David King [Fri, 9 Jan 2015 14:37:17 +0000 (14:37 +0000)]
docs: Add Since for GtkCellRendererPixbuf:surface
David King [Tue, 8 Apr 2014 15:42:36 +0000 (16:42 +0100)]
docs: Fix some old live.gnome.org URLs
Piotr Drąg [Fri, 9 Jan 2015 13:16:03 +0000 (14:16 +0100)]
Updated POTFILES.skip
Matthias Clasen [Fri, 9 Jan 2015 11:45:51 +0000 (06:45 -0500)]
Fix GTK_OVERLAY_SCROLLING=0
This was broken by the recent more dynamic approach.
Matthias Clasen [Fri, 9 Jan 2015 11:21:37 +0000 (06:21 -0500)]
Fix comment typo
Matthias Clasen [Fri, 9 Jan 2015 05:07:01 +0000 (00:07 -0500)]
inspector: Show object address
This is useful information when running the application
in a debugger.
https://bugzilla.gnome.org/show_bug.cgi?id=742518
Emmanuele Bassi [Fri, 26 Dec 2014 16:04:26 +0000 (16:04 +0000)]
Point to copy/cut/delete named icons in the stock item deprecations
We still use symbolic icons for Copy, Cut, and Delete operations inside
toolbars and some menus, so it's worth pointing to the symbolic icon
names in the deprecation notices.
https://bugzilla.gnome.org/show_bug.cgi?id=741969
Matthias Clasen [Fri, 9 Jan 2015 03:27:47 +0000 (22:27 -0500)]
file chooser: Don't force a scrollbar
No point in showing the scrollbar when it is not needed.
https://bugzilla.gnome.org/show_bug.cgi?id=742343
Timm Bäder [Fri, 26 Dec 2014 22:04:37 +0000 (23:04 +0100)]
gtklabel: Don't accept unhandled mouse buttons
If the pressed mouse button neither triggers a context menu nor
activates a link, set the sequence's state to DENIED.
https://bugzilla.gnome.org/show_bug.cgi?id=742010
Benjamin Otte [Thu, 8 Jan 2015 18:30:19 +0000 (19:30 +0100)]
cssimage: Fix angle computation for gradients to corners
Inaki Larranaga Murgoitio [Thu, 8 Jan 2015 17:32:00 +0000 (18:32 +0100)]
Updated Basque language
Inaki Larranaga Murgoitio [Thu, 8 Jan 2015 14:41:15 +0000 (15:41 +0100)]
Updated Basque language
Benjamin Otte [Wed, 7 Jan 2015 17:06:59 +0000 (18:06 +0100)]
stylecontext: Handle theme changes for cached styles
We need to clear the cache manually on full revalidates because
_gtk_css_change_for_child() will clear the full revalidation flags.
And then gtk_style_context_update_cache() will not do the right thing
(which is to clear itself).
Benjamin Otte [Wed, 7 Jan 2015 14:44:53 +0000 (15:44 +0100)]
stylecontext: Rename GtkStyleInfo to GtkCssNode
Benjamin Otte [Tue, 6 Jan 2015 11:08:49 +0000 (12:08 +0100)]
stylecontext: update_animating() properly
Because we can switch from animating to non-animating pretty much
anywhere, do the check for animations unconditionally instead of trying
to cram it into the correct if path (and failing).
Benjamin Otte [Tue, 6 Jan 2015 11:08:17 +0000 (12:08 +0100)]
stack: Remove commented out line
It always shows up in my greps and confuses me.
Benjamin Otte [Mon, 5 Jan 2015 23:38:54 +0000 (00:38 +0100)]
stylecontext: Add a parent style cache
We now cache the results of lookups on the parent GtkCssStyle. This
allows sharing styles between widgets (recursively). However, this
only works if the styles can't potentially depend on siblings -
neither directly via sibling selectors or via position pseudo-classes
like :first-child.
Unfortunately, Adwaita currently uses first-child a lot, and in
particular for labels, which are the most common widgets.
The big benefits of this change are both less CPU - due to not needing
to compute styles again - and less memory usage - due to sharing of
the styles between widgets. Here's some nonscientific numbers I
collected while pondering the usefulness of this patch:
glade glade widget
demo demo factory
runtime styles styles
Adwaita before 19.1s 5800 1150
Adwaita now 18.9s 3800 970
Adwaita hacked now 14.5s 3100 910
simple before 11.3s 5800 1150
simple now 10.8s 1300 590
Adwaita: Adwaita as provided by GTK
Adwaita hacked: Adwaita with the first/last-child for GtkLabel removed
simple: A 250 lines simple GTK theme I use for testing
before: This patch not applied
now: this patch applied
glade demo runtime: Starting glade opening a large file and closing it
glade demo styles: GtkCssStaticStyle objects after opening glade with
the large file as per inspector
widget factory styles: GtkCssStaticStyle objects after startup as per
inspector
Benjamin Otte [Mon, 5 Jan 2015 15:13:18 +0000 (16:13 +0100)]
cssstyle: Have a default style
This way we can initialize the default style info with a style and
ddon't need to special case NULL everywhere.
Benjamin Otte [Mon, 5 Jan 2015 04:57:45 +0000 (05:57 +0100)]
stylecontext: Use correct parent on updates
Previously we looked at the save/restore state when determining the
parent. This is wrong in the case where we're updating the cache though.
So we now save the parent in the style info.
Benjamin Otte [Tue, 23 Dec 2014 07:19:39 +0000 (08:19 +0100)]
stylecontext: Fix cache updating
After the parent changes in commit
3a337156d11a86c7a88f1f30a09276fdf6f63008 we need to refresh the cached
styles after the current style. After all, they now depend on the base
style.
Benjamin Otte [Tue, 23 Dec 2014 07:10:30 +0000 (08:10 +0100)]
cssstaticstyle: Handle relevant change
Relevant change is returned from style lookups, so keep is with the
object that holds those values.
Benjamin Otte [Sun, 21 Dec 2014 20:30:51 +0000 (21:30 +0100)]
stylecontext: Use correct parent style for lookups
After
3a337156d11a86c7a88f1f30a09276fdf6f63008 style lookups still used
the parent context's style as the parent style, even though after a
gtk_style_context_save() the root style of the style context is the
proper parent.
Testcase attached.
Benjamin Otte [Sun, 21 Dec 2014 19:26:26 +0000 (20:26 +0100)]
cssnodedeclaration: Store the GType of the node
Benjamin Otte [Wed, 17 Dec 2014 12:30:51 +0000 (13:30 +0100)]
cssstyle: Move function from vfunc to static func
compute_dependencies() is only used internally by GtkCssStaticStyle,
so there's no need to have it elsewhere.
Benjamin Otte [Wed, 17 Dec 2014 12:22:03 +0000 (13:22 +0100)]
cssstaticstyle: Move function
And with that move, GtkCssStaticStyle is immutable.
Benjamin Otte [Wed, 17 Dec 2014 04:52:13 +0000 (05:52 +0100)]
cssstaticstyle: Move function
We want the new() return values to be immutable, so we have to move the
code that modifes them.
Benjamin Otte [Wed, 17 Dec 2014 03:18:44 +0000 (04:18 +0100)]
stylecontext: Refactor update_properties()
It now always returns a new instance.
Benjamin Otte [Tue, 16 Dec 2014 05:47:08 +0000 (06:47 +0100)]
stylecontext: Simplify function
Instead of computing the changes manually everywhere from the parent
changes, just pass in the parent changes.
Benjamin Otte [Tue, 16 Dec 2014 05:40:10 +0000 (06:40 +0100)]
stylecontext: Simplify code
Compute the differences only once and not in both if branches.
Benjamin Otte [Tue, 16 Dec 2014 04:57:36 +0000 (05:57 +0100)]
cssanimatedstyle: Apply animation values after creation
This makes GtkCssAnimatedStyle immutable.
Benjamin Otte [Tue, 16 Dec 2014 03:15:25 +0000 (04:15 +0100)]
cssanimatedstyle: Make advancing the style return a new style
This is another step towards making CssStyles immutable.
Benjamin Otte [Mon, 15 Dec 2014 13:22:00 +0000 (14:22 +0100)]
stylecontext: Fold a function into only caller
Benjamin Otte [Mon, 15 Dec 2014 03:17:42 +0000 (04:17 +0100)]
cssanimatedstyle: Avoid creating animation
... when no animation exists.
This makes the function name kinda wrong, but I'm not sure what else to
call it.
Benjamin Otte [Mon, 15 Dec 2014 01:54:35 +0000 (02:54 +0100)]
cssanimatedstyle: Remove unused function
Benjamin Otte [Mon, 15 Dec 2014 00:58:11 +0000 (01:58 +0100)]
cssanimatedstyle: Merge two functions
Benjamin Otte [Sun, 14 Dec 2014 22:20:19 +0000 (23:20 +0100)]
stylecontext: Make build_properties create the style
Benjamin Otte [Sun, 14 Dec 2014 16:06:27 +0000 (17:06 +0100)]
stylecontext: Make static styles static
Instead of keeping an animated style everywhere, we replace it with the
static style when nothing gets animated.
Apart from making the code cleaner, this gets rid of a bunch of animated
style values that do nothing but wrap a static style.
Benjamin Otte [Sun, 14 Dec 2014 14:46:18 +0000 (15:46 +0100)]
stylecontext: Split function
Benjamin Otte [Sat, 13 Dec 2014 01:07:34 +0000 (02:07 +0100)]
stylecontext: Only look up stuff in the cache that can be in the cache
Only saved styles are stored in the cache so we should look only those
up there.
Benjamin Otte [Mon, 27 Oct 2014 03:22:49 +0000 (04:22 +0100)]
stylecontext: don't unset the current style info when clearing cache
Instead, do it manually.
Benjamin Otte [Sun, 26 Oct 2014 23:25:18 +0000 (00:25 +0100)]
stylecontext: Always pass the static style
... to build_properties.
There is always one available, so we can insist on that one.
This simplifies a bunch of code.
Benjamin Otte [Sun, 26 Oct 2014 18:38:38 +0000 (19:38 +0100)]
stylecontext: Use a static style when saved
The only style that is animated is the style of the unsaved primary
node. So there's no need to create animated style objects for the other
ones.
There is a bunch of ugliness in the code currently. Further commits are
expected to fix them.
Benjamin Otte [Sun, 26 Oct 2014 04:07:06 +0000 (05:07 +0100)]
cssstyle: Add GtkCssStaticStyle
For now, this is only an implementation detail of the animated style.
The idea is to use GtkCssStaticStyle as the result of CSS queries and
then put a GtkCssAnimatedStyle on top that manages the animations. The
neat thing about this is that you can cache the static values.
Benjamin Otte [Thu, 23 Oct 2014 02:10:03 +0000 (04:10 +0200)]
cssstyle: Split into GtkCssStyle and GtkCssAnimatedStyle
GtkCssStyle is the base class to be used for all types of styles that do
exist.
GtkCssAnimatedStyle is the only implementation so far, that is exactly a
copy/paste of the old GtkCssStyle code.
Benjamin Otte [Wed, 22 Oct 2014 21:41:50 +0000 (23:41 +0200)]
cssstyle: Rename GtkCssComputedValues => GtkCssStyle
This is literally just renaming of the object (and the associated source
files). No other changes are in there.
Benjamin Otte [Wed, 22 Oct 2014 20:36:38 +0000 (22:36 +0200)]
cssstylefuncs: Rename functions
This is in preaparation for the big GtkCssComputedValues => GtkCssStyle
rename
Christian Kirbach [Tue, 6 Jan 2015 22:42:35 +0000 (22:42 +0000)]
Updated German translation
Bruce Cowan [Mon, 5 Jan 2015 20:40:52 +0000 (20:40 +0000)]
Updated British English translation
Benjamin Otte [Mon, 5 Jan 2015 20:15:19 +0000 (21:15 +0100)]
cssselector: Reintroduce GOT_MATCH
I removed it in
14f5ce710856708dc80fcc98cb5eb2ba257f34ad because I
thought it was unnecessary, but it wasn't. When we build a tree like
this:
.matches ─┬─ .doesntmatch
└─ .alsodoesntmatch
We would get the changes for the .matches part returned. This is however
only right if that node of the tree contains results. If results only
exist with the child nodes (all of which don't match), then this part
should not match either.
Benjamin Otte [Mon, 5 Jan 2015 20:00:36 +0000 (21:00 +0100)]
cssselector: The if was the wrong way around
We want to keep matching as long as selectors are simple. Otherwise we'd
never be matching, because the first selector is always simple. Oops.
Sebastien Lafargue [Sun, 4 Jan 2015 11:40:27 +0000 (12:40 +0100)]
cellrenderertext: notify inverted
The notify for "size" and "size-points" properties
are inverted.
https://bugzilla.gnome.org/show_bug.cgi?id=742311
Emmanuele Bassi [Fri, 2 Jan 2015 23:05:29 +0000 (23:05 +0000)]
calendar: Handle invalid dates
GtkCalendar can have an invalid date — mostly at initialization. This
means that GDateTime construction may fail. We need to handle that case
gracefully, like the old code did.
This fixes the `notify` test suite, which started failing with:
/Notification/GtkCalendar:
GLib-CRITICAL **: g_date_time_get_day_of_week: assertion 'datetime != NULL' failed
inside the Continuous builder.
Christian Hergert [Thu, 1 Jan 2015 07:27:55 +0000 (23:27 -0800)]
textview: fix duplicated binding entries. use kp variants instead.
This appears to have accidentally used the normal keypresses twice instead
of the KP variants. This resulted in shift+insert pasting twice.
https://bugzilla.gnome.org/show_bug.cgi?id=742170
Inaki Larranaga Murgoitio [Wed, 31 Dec 2014 16:46:21 +0000 (17:46 +0100)]
Updated Basque language
Balázs Úr [Wed, 31 Dec 2014 13:29:14 +0000 (13:29 +0000)]
Updated Hungarian translation
Gábor Kelemen [Wed, 31 Dec 2014 13:02:56 +0000 (13:02 +0000)]
Updated Hungarian translation
Balázs Úr [Wed, 31 Dec 2014 12:03:47 +0000 (12:03 +0000)]
Updated Hungarian translation
Trần Ngọc Quân [Wed, 31 Dec 2014 08:50:54 +0000 (15:50 +0700)]
Updated Vietnamese translation
Signed-off-by: Trần Ngọc Quân <vnwildman@gmail.com>
Ignacio Casal Quinteiro [Tue, 30 Dec 2014 12:46:11 +0000 (13:46 +0100)]
Fix typos in documentation
Jasper St. Pierre [Mon, 29 Dec 2014 02:11:49 +0000 (18:11 -0800)]
gtkstylecontext: Don't try to emit a signal when finalizing